I. Wzorce kreacyjne 1. Singleton 2. Budowniczy 3. Prototyp 4. Fabryka 5. Fabryka abstrakcyjna II. Wzorce strukturalne 1. Adapter 2. Most 3. Kompozyt 4. Dekorator 5. Fasada 6. Pyłek 7. Pełnomocnik III. Wzorce czynnościowe 1. Łańcuch zobowiązań 2. Polecenie 3. Interpreter 4. Iterator 5. Mediator 6. Pamiątka 7. Obserwator 8. Stan 9. Strategia 10. Metoda szablonowa 11. Odwiedzający |
Kompozyt (Composite) - wzorzec projektowy (design pattern) - java1. Cel:Kompozyt (Composite) reprezentuje hierarchię obiektów w formie drzewa. Proszę nie mylić kompozyt (composite) z kompozycja (composition). Kompozyt (Composite) jest wzorcem operującym na hierarchi obiektów. kompozycja (Composition) jest to jeden obiekt zawieracjący drugi. 2. Problem: Chcemy mieć powiązene ze sobą obiekty w formie drzewa. np Pracownik jak Manager, ma pod sobą innych pracowników, ale sam również jest pracownikiem i jest pod dyrektorem. 3. Rozwiązanie: Budujemy strukture drzewa, implementujemy interface komponentu, implementujemy na jego podstawie liście (dzieci, Leaf) oraz composite (kompozyt) - który ma informację o liściach (dzieciach). 4. Diagram klas wzorca composite: 5. Implementacja: Implementacja interfeju:
Implementacja klasy Manager:
Implementacja klasy pracownika Developer:
Wypisane zostanie: --------------------- Name: Mateusz Nowak Salary: 4242.0 --------------------- Name: =Tomasz Kowalski Salary: 7000.0 --------------------- NameL Bernhard Riemann Salary =1900.0 --------------------- Name: Carl Gauss Salary: 6000.0 --------------------- Name: Chuck Norris Salary: 29000.0 6. Zastosowanie w kodzie java: - java.awt.Container#add(Component) (praktycznie wszystkie elementy Swinga) - javax.faces.component.UIComponent#getChildren() (praktycznie we wszystkich komponentach JSF UI) |
---|